从 脚本编写 到 编程 在R中,从执行孤立的交互式语句转变为构建自动化、可扩展的处理流程。这一演进过程涉及将数据组织成如 向量、 矩阵、 因子、 数组、 列表 等稳健的数据容器中,以应对复杂的信息架构。
1. 程序化控制流
与其手动重复,不如使用逻辑块来管理复杂性。R提供了结构化的控制流机制:
- 迭代:
for (name in expr_1) expr_2、while (condition) expr、repeat expr。 - 条件判断:
if (expr_1) expr_2 else expr_3用于逻辑分支,而向量化函数ifelse则用于逐元素决策。
# 表达式分组
{ expr_1 ; ... ; expr_m }
{ expr_1 ; ... ; expr_m }
2. 向量化思维与函数映射
在R中进行编程时,利用函数式迭代来处理数据结构而无需显式循环。例如,使用 apply、 lapply、 sapply、 tapply 等函数可在数组或列表上应用逻辑。例如,使用 split 按一个 因子 分组后,再应用 mean、 var、 sqrt(sum(x)) 计算能显著减少代码冗余和错误。
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>